#ifndef AST_DECLARATIONS_STRUCT_DECLARATION_H
#define AST_DECLARATIONS_STRUCT_DECLARATION_H

#include "../ASTNode.h"

class SpecifierQualifierList;
class StructDeclaratorList;

/*
C99   6.7.2.1
struct-declaration:
		specifier-qualifier-list    struct-declarator-list    ;
*/
class StructDeclaration : public ASTNode
{
protected:
	StructDeclaration(void)
		: ASTNode(ASTNode::struct_declaration){};
public:
	StructDeclaration(SpecifierQualifierList *pSpecQualList, StructDeclaratorList * pDecList)
		: ASTNode(ASTNode::struct_declaration)
		, m_pSpecQualList(pSpecQualList)
		, m_pDeclList(pDecList) {};

	virtual ~StructDeclaration(void);

	virtual void					codeGen();

protected:
	SpecifierQualifierList *			m_pSpecQualList;
	StructDeclaratorList *					m_pDeclList;
};



#endif



